IBIS Macromodel Task Group Meeting date: 16 January 2024 Members (asterisk for those attending): Achronix Semiconductor: Hansel Dsilva Amazon: John Yan ANSYS: * Curtis Clark * Wei-hsing Huang Aurora System: * Dian Yang Raj Raghuram Cadence Design Systems: * Ambrish Varma * Jared James Dassault Systemes: Longfei Bai Google: Hanfeng Wang GaWon Kim Intel: * Michael Mirmak * Kinger Cai Chi-te Chen Liwei Zhao Alaeddin Aydiner Keysight Technologies: Fangyi Rao Majid Ahadi Dolatsara Stephen Slater Ming Yan Rui Yang Marvell: Steve Parker Mathworks (SiSoft): * Walter Katz Graham Kus Micron Technology: Justin Butterfield Missouri S&T: Chulsoon Hwang Yifan Ding Zhiping Yang Rivos: Yansheng Wang SAE ITC: Michael McNair Siemens EDA (Mentor): * Arpad Muranyi * Randy Wolff Teraspeed Labs: Bob Ross Zuken USA: * Lance Wang The meeting was led by Arpad Muranyi. Curtis Clark took the minutes. -------------------------------------------------------------------------------- Opens: Arpad noted that the meeting scheduled for January 30th will be cancelled. January 30, 2024 (cancelled - DesignCon week) ------------- Review of ARs: Arpad: Email Zhiping to ask whether he still plans to work on item 17 (now item 14) in the Tabled topics list, or whether we can remove it. - Not yet done. Michael: Develop a full syntactically complete example demonstrating the AMI Test Data proposal. - In progress. -------------------------- Call for patent disclosure: - None. ------------------------- Review of Meeting Minutes: Arpad asked for any comments or corrections to the minutes of the January 9th meeting. Michael moved to approve the minutes. Ambrish seconded the motion. There were no objections. -------------- New Discussion: wave_size, "block size", number_of_rows cleanup: Arpad referred to an email he had sent to the ATM list in response to Michael's email about wave_size and block size. Arpad noted that "block size" only appears in the sections defining the BCI parameters and Rx_Use_Clock_Input. He said that reading those sections in context implied that block size really means the wave_size parameter in the AMI_GetWave function signature. Arpad noted that "block_size" never appears in the specification. He said that number_of_rows is is the equivalent concept (number of samples) for the impulse response input to AMI_Init. Arpad said that the minor editorial BIRD Michael had suggested might be as simple as replacing instances of "block size" with "wave_size". Michael referred to the email he had originally sent out on this point. He said we all agree that wave_size is explicitly defined in terms of samples. He agreed that we could just replace instances of "block size" with wave_size, but he said he would prefer that we instead change the language to use "block size" when we are referring to the number of bits. He said that in the industry he typically hears people referring to the number of bits when they talk about passing blocks of data. Ambrish said he agreed with Michael's assertion that people often think of blocks in terms of the number of bits. However, he noted that page 216 of IBIS 7.2 already explicitly states: The segments are not required to be equally sized and are not required to contain an integer number of bits. (Note: the group noted that "bits" in this sentence really means "symbols") Ambrish suggested that in sections where we use block size, we might follow it it with "(wave_size)" the first time it's used. The first time we use wave_size we might note that wave_size * sample_interval / symbol_time is equal to the number of symbols in the block. Walter said that we should avoid overloading any of these terms. He said that we all understand sample_interval and wave_size. The overall waveform is broken into blocks made up of some number of samples, which means they're also some number of UIs. It's just a block of data passed to AMI_GetWave that represents a section of the waveform that covers a certain time period. Someone may say that their DFE settles in some number of UIs, and anyone can easily convert that to how many blocks with wave_size samples that will take. Whether we think of time(s), samples, or UI is fine, but a block of data has nothing to do with that. Curtis agreed with Walter. He said the concept of "block size" is independent of whether one wants to quantify it in terms of s, ps, UI, samples, etc. The unit really only becomes important when we are defining a parameter (e.g., wave_size) that will quantify the block size by way of a numeric value. Walter and Curtis said they weren't sure that much confusion existed about block size. Walter said there's no confusion from EDA vendors and no confusion from the people who have been successfully building models. Arpad said he thought a clarification BIRD would be helpful to ensure that no one is confused by these terms and concepts. Michael gave himself an AR to develop a new clarification BIRD. He said he would also tweak BIRD229 and create a BIRD229.1 to adopt such changes. Syntactically Complete Example for BIRD229: Michael again noted that the original 2009 SiSoft AMI example, from which he'd created his BIRD229 example, used 8 samples per bit and a total waveform length of 100k bits. Michael said that he didn't want his example files to have to cover 100k bits, so he'd reduced the total waveform length to 1024 bits. He said that coincidentally 1024 also happened to be the number of samples (number_of_rows) in the impulse response passed to AMI_Init. He said he was thinking of changing the total waveform length just to be sure that those values being the same didn't confuse anyone into thinking they are related. Curtis said he didn't think anyone would come to the (incorrect) conclusion that the number of bits in the waveform should be the same as the number of samples in the impulse response, but if Michael wanted to change the waveform length it wouldn't hurt anything. Walter said that as a practical matter 8 samples/bit is barely at the edge of minimum reasonable resolution, and 32 samples/bit would be a more reasonable example. However, Michael and Ambrish said that this is just a syntax example and going to 32 samples per bit would simply increase the size of the example files. Walter agreed that it was okay to use 8 samples/bit for the example. - Michael: Motion to adjourn. - Curtis: Second. - Arpad: Thank you all for joining. New ARs: Michael: Develop a new clarification BIRD to more clearly define relationships between concepts, terms, and parameters such as block, block size, wave_size, etc. Michael: Develop a new BIRD229.1 to incorporate any changes related to the new clarification BIRD. ------------- Next meeting: 23 January 2024 12:00pm PT ------------- IBIS Interconnect SPICE Wish List: 1) Simulator directives